package com.yeyks.consumer.dal.domain;

import com.baomidou.mybatisplus.annotation.IdType;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;

import java.io.Serializable;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 充值记录表
 * </p>
 *
 * @author yun
 * @since 2020-02-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="RechargeRecord对象", description="充值记录表")
public class RechargeRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "订单id")
    @TableField("order_no")
    private String orderNo;

    @ApiModelProperty(value = "用户id")
    @TableField("user_id")
    private Integer userId;

    @ApiModelProperty(value = "活动id")
    @TableField("activity_id")
    private Integer activityId;

    @ApiModelProperty(value = "付款金额")
    @TableField("pay_amount")
    private Integer payAmount;

    @ApiModelProperty(value = "赠送金额")
    @TableField("give_amount")
    private Integer giveAmount;

    @ApiModelProperty(value = "用户手机号")
    @TableField("phone")
    private String phone;

    @ApiModelProperty(value = "会员卡号")
    @TableField("card_no")
    private String cardNo;

    @ApiModelProperty(value = "类型，1，10元充值, 2会员卡充值,3.黑鱼大礼包,4,jip充值,10web充值")
    @TableField("type")
    private Integer type;

    @ApiModelProperty(value = "描述")
    @TableField("order_desc")
    private String orderDesc;

    @ApiModelProperty(value = "支付渠道，0微信，1支付宝 4 小程序  5 公众号,10web充值")
    @TableField("payment_method")
    private Integer paymentMethod;

    @ApiModelProperty(value = "扩展信息")
    @TableField("extra_info")
    private String extraInfo;

    @ApiModelProperty(value = "订单状态  1待支付，2已支付，3已取消,  4支付失败")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "邀请码")
    @TableField("invite_id")
    private String inviteId;

    @ApiModelProperty(value = "创建日期")
    @TableField("created_time")
    private Date createdTime;

    @ApiModelProperty(value = "更新日期")
    @TableField("updated_time")
    private Date updatedTime;

    @ApiModelProperty(value = "开票信息id")
    @TableField("invoice_id")
    private Integer invoiceId;


    public static final String ID = "id";

    public static final String ORDER_NO = "order_no";

    public static final String USER_ID = "user_id";

    public static final String ACTIVITY_ID = "activity_id";

    public static final String PAY_AMOUNT = "pay_amount";

    public static final String GIVE_AMOUNT = "give_amount";

    public static final String PHONE = "phone";

    public static final String CARD_NO = "card_no";

    public static final String TYPE = "type";

    public static final String ORDER_DESC = "order_desc";

    public static final String PAYMENT_METHOD = "payment_method";

    public static final String EXTRA_INFO = "extra_info";

    public static final String STATUS = "status";

    public static final String INVITE_ID = "invite_id";

    public static final String CREATED_TIME = "created_time";

    public static final String UPDATED_TIME = "updated_time";

    public static final String INVOICE_ID = "invoice_id";

}
